/*
*victor fuentes 12298
* yucely beb 12537
* hoja de trabajo 7
*/

import java.util.Scanner;

public class Driver {
    public static void main(String[] args) {
        
        String cadena="";
        Scanner teclado = new Scanner(System.in);
        Heap lista;

        //Mensaje
        bienvenida();
        //Ingreso de cadena
        cadena = teclado.nextLine();
        lista = new Heap(cadena.length());

        //Ingresa caracter a un nodo
        for(int i =0; i < cadena.length(); i++) {            
            Nodo query = new Nodo(cadena.charAt(i));
            Nodo arbol = lista.retirar(query);
            if (arbol == null) {
                lista.add(query);
            } else {
                arbol.masFrec();
                lista.add(arbol);
            }
        }

        //Crea un arbol con cada nodo
        while(lista.getNumero() > 1) {
            Nodo nodoTemp = new Nodo();
            int temp1, temp2;
            temp1= lista.head().getFrecuencia() ;
            nodoTemp.setIzq(lista.retirar());
            
            temp2 = lista.head().getFrecuencia();
            nodoTemp.setDer(lista.retirar());
            
            nodoTemp.setFrecuencia(temp1+temp2);
            lista.add(nodoTemp);
        }

        lista.head().recorrer();

    }

public static void bienvenida() {
        System.out.println();
        System.out.println("------------------------------------------------");
        System.out.println("                ARBOLES HUFFMAN                 ");
        System.out.println("------------------------------------------------");
        System.out.println("Ingrese cadena: ");
}

}
